# 这是一个示例 Python 脚本。
import scipy

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。

from PIL import Image
import numpy
from HarrisAndSIFT.mySIFT import my_SIFT_process, SIFT_match, draw1, trans_to_gray
from HarrisAndSIFT import myHarris1
import cv2 as cv

from pylab import *


def print_hi(name):
    # 在下面的代码行中使用断点来调试脚本。
    print(f'Hi, {name}')  # 按 Ctrl+F8 切换断点。


def HarrisAndSIFT():
    im = numpy.asarray(Image.open(r'Part2Pics/cover.jpg').convert('L'))  # 获得harris图片
    # harris_res_list = my_harris_corner_detector(im, 5, 3, 0.06)
    ing1 = cv.imread('Part2Pics/cover.jpg').astype(np.float32)
    #ing3 = scipy.ndimage.rotate(ing1, 20)
    pic, res15 = myHarris1.harris_corner(ing1)
    res_1 = my_SIFT_process(trans_to_gray(ing1), res15)

    im1 = numpy.asarray(Image.open(r'Part2Pics/cover(1).jpg').convert('L'))  # 获得harris图片
    # harris_res_list1 = my_harris_corner_detector(im1, 5, 3, 0.06)
    ing2 = cv.imread('Part2Pics/cover(1).jpg').astype(np.float32)

    pic1, res25 = myHarris1.harris_corner(ing2)
    res_2 = my_SIFT_process(trans_to_gray(ing2), res25)
    res_3 = SIFT_match(trans_to_gray(ing1), res_1, trans_to_gray(ing2), res_2)
    draw1(Image.open(r'Part2Pics/cover.jpg'), Image.open(r'Part2Pics/cover(1).jpg'), res_3)
    # keypoints, descriptors = computeKeypointsAndDescriptors(im)
    # print(keypoints)
    # print(descriptors)


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    print_hi('PyCharm')
    HarrisAndSIFT()

# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助
